/* 
 * File:   UtilesTest.cpp
 * Author: gabilan
 *
 * Created on 19-may-2013, 20:19:50
 */

#include <stdlib.h>
#include <iostream>
#include "common_FileUtils.h"

/*
 * Simple C++ Test Suite
 */

void testObtenerFullPathArchivoOk() {
    const std::string path = "/home/";
    LPathArchivo l;
    FileUtils utiles;
    bool result = utiles.ObtenerFullPathArchivo(path, l);
    if (!result) {
        std::cout << "%TEST_FAILED% time=0 testname=testObtenerFullPathArchivo (UtilesTest) message=error message sample" << std::endl;
    }
    else
    {
        LPathArchivo::iterator it;
        for(it = l.begin(); it != l.end(); it++)
            std::cout << *it << std::endl;
    }
}

void testObtenerFullPathArchivoBad() {
    const std::string path = "/home/DIRECTORIO_INEXISTENTE/";
    LPathArchivo l;
    FileUtils utiles;
    bool result = utiles.ObtenerFullPathArchivo(path, l);
    if (result) {
        std::cout << "%TEST_FAILED% time=0 testname=testObtenerFullPathArchivo (UtilesTest) message=error message sample" << std::endl;
    }
}

void testObtenerNombreArchivosOk() {
    const std::string path = "/home/";
    LPathArchivo l;
    FileUtils utiles;
    bool result = utiles.ObtenerNombreArchivos(path, l);
    if (!result) {
        std::cout << "%TEST_FAILED% time=0 testname=testObtenerFullPathArchivo (UtilesTest) message=error message sample" << std::endl;
    }
    else
    {
        LPathArchivo::iterator it;
        for(it = l.begin(); it != l.end(); it++)
            std::cout << *it << std::endl;
    }
}

void testObtenerNombreArchivosBad() {
    const std::string path = "/home/DIRECTORIO_INEXISTENTE/";
    LPathArchivo l;
    FileUtils utiles;
    bool result = utiles.ObtenerNombreArchivos(path, l);
    if (result) {
        std::cout << "%TEST_FAILED% time=0 testname=testObtenerFullPathArchivo (UtilesTest) message=error message sample" << std::endl;
    }
}

int main(int argc, char** argv) {
    std::cout << "%SUITE_STARTING% UtilesTest" << std::endl;
    std::cout << "%SUITE_STARTED%" << std::endl;

    std::cout << "%TEST_STARTED% testObtenerFullPathArchivo (UtilesTest)" << std::endl;
    testObtenerFullPathArchivoOk();
    std::cout << "%TEST_FINISHED% time=0 testObtenerFullPathArchivo (UtilesTest)" << std::endl;
    
    std::cout << "%TEST_STARTED% testObtenerFullPathArchivo (UtilesTest)" << std::endl;
    testObtenerFullPathArchivoBad();
    std::cout << "%TEST_FINISHED% time=0 testObtenerFullPathArchivo (UtilesTest)" << std::endl;

    std::cout << "%TEST_STARTED% testObtenerNombreArchivos (UtilesTest)" << std::endl;
    testObtenerNombreArchivosOk();
    std::cout << "%TEST_FINISHED% time=0 testObtenerNombreArchivos (UtilesTest)" << std::endl;
    
    std::cout << "%TEST_STARTED% testObtenerNombreArchivos (UtilesTest)" << std::endl;
    testObtenerNombreArchivosBad();
    std::cout << "%TEST_FINISHED% time=0 testObtenerNombreArchivos (UtilesTest)" << std::endl;

    std::cout << "%SUITE_FINISHED% time=0" << std::endl;

    return (EXIT_SUCCESS);
}

